package com.ruoyi.violation.service;

import java.util.List;
import com.ruoyi.violation.domain.VehicleViolationReport;
import com.ruoyi.violation.vo.CorrectVo;
import com.ruoyi.violation.vo.LawAuditVo;

/**
 * 车辆违章上报信息Service接口
 * 
 * @author ruoyi
 * @date 2024-12-14
 */
public interface IVehicleViolationReportService 
{
    /**
     * 查询车辆违章上报信息
     * 
     * @param id 车辆违章上报信息主键
     * @return 车辆违章上报信息
     */
    public VehicleViolationReport selectVehicleViolationReportById(Long id);

    /**
     * 查询车辆违章上报信息列表
     * 
     * @param vehicleViolationReport 车辆违章上报信息
     * @return 车辆违章上报信息集合
     */
    public List<VehicleViolationReport> selectVehicleViolationReportList(VehicleViolationReport vehicleViolationReport);

    /**
     * 新增车辆违章上报信息
     * 
     * @param vehicleViolationReport 车辆违章上报信息
     * @return 结果
     */
    public int insertVehicleViolationReport(VehicleViolationReport vehicleViolationReport);

    /**
     * 修改车辆违章上报信息
     * 
     * @param vehicleViolationReport 车辆违章上报信息
     * @return 结果
     */
    public int updateVehicleViolationReport(VehicleViolationReport vehicleViolationReport);

    /**
     * 批量删除车辆违章上报信息
     * 
     * @param ids 需要删除的车辆违章上报信息主键集合
     * @return 结果
     */
    public int deleteVehicleViolationReportByIds(Long[] ids);

    /**
     * 删除车辆违章上报信息信息
     * 
     * @param id 车辆违章上报信息主键
     * @return 结果
     */
    public int deleteVehicleViolationReportById(Long id);

    int removeVehicleViolationReportByIds(Long[] ids);

    /**
     * 审核
     * @param lawAuditVo
     * @return
     */
    int audit(LawAuditVo lawAuditVo);

    /**
     * 整改
     * @param correctVo
     * @return
     */
    int correct(CorrectVo correctVo);
}
